home *** CD-ROM | disk | FTP | other *** search
- unit demo95fr;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, ComCtrls, Buttons, ExtCtrls, MXMAILX, password;
-
- {$I MAILXDEF.INT}
-
- type
- TFormWin95 = class(TForm)
- StatusBar1: TStatusBar;
- PageControl1: TPageControl;
- Container: TTabSheet;
- Recipients: TTabSheet;
- Attachments: TTabSheet;
- PageMessage: TTabSheet;
- Panel1: TPanel;
- ProgressBar1: TProgressBar;
- TreeView1: TTreeView;
- ListView1: TListView;
- Panel2: TPanel;
- btnLogin: TSpeedButton;
- btnScan: TSpeedButton;
- btnMail: TSpeedButton;
- btnRecipient: TSpeedButton;
- btnFile: TSpeedButton;
- btnPassword: TSpeedButton;
- szResolve: TEdit;
- btnResolve: TSpeedButton;
- btnAdd: TSpeedButton;
- btnAddress: TSpeedButton;
- ListView2: TListView;
- GroupBox1: TGroupBox;
- szSubject: TEdit;
- szTime: TEdit;
- szFrom: TEdit;
- btnSend: TSpeedButton;
- btnForward: TSpeedButton;
- btnReply: TSpeedButton;
- ImageList1: TImageList;
- MXForm1: TMXForm;
- MXSession1: TMXSession;
- MXMessage1: TMXMessage;
- MXMessage2: TMXMessage;
- MXRecipient1: TMXRecipient;
- MXFile1: TMXFile;
- Label1: TLabel;
- szCount: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- Label5: TLabel;
- Label6: TLabel;
- Label7: TLabel;
- szFiles: TLabel;
- szNote: TRichEdit;
- procedure btnLoginClick(Sender: TObject);
- procedure TreeView1Collapsing(Sender: TObject; Node: TTreeNode;
- var AllowCollapse: Boolean);
- procedure TreeView1Expanding(Sender: TObject; Node: TTreeNode;
- var AllowExpansion: Boolean);
- procedure btnScanClick(Sender: TObject);
- procedure btnMailClick(Sender: TObject);
- procedure btnRecipientClick(Sender: TObject);
- procedure btnFileClick(Sender: TObject);
- procedure TreeView1DblClick(Sender: TObject);
- procedure btnResolveClick(Sender: TObject);
- procedure btnAddClick(Sender: TObject);
- procedure btnAddressClick(Sender: TObject);
- procedure ListView1DblClick(Sender: TObject);
- procedure btnSendClick(Sender: TObject);
- procedure btnForwardClick(Sender: TObject);
- procedure btnReplyClick(Sender: TObject);
- procedure btnPasswordClick(Sender: TObject);
- private
- { Private declarations }
- procedure LoginMailSystem;
- procedure UpdateStatusBar;
- function IsActiveSession:Boolean;
- procedure Refresh_Inbox;
- procedure Refresh_Recipient;
- procedure Refresh_FileList;
- procedure ClearTreeView;
- public
- { Public declarations }
- end;
-
- var
- FormWin95: TFormWin95;
-
- implementation
-
- {$R *.DFM}
-
- procedure TFormWin95.btnLoginClick(Sender: TObject);
- begin
- LoginMailSystem;
- If MXSession1.Logon = False Then
- begin
- TreeView1.Items.Clear;
- ListView2.Items.Clear;
- end;
- end;
-
- procedure TFormWin95.LoginMailSystem;
- begin
- MXSession1.Logon:=TRUE;
- UpdateStatusBar;
- if IsActiveSession=true then
- begin
- PageControl1.ActivePage:=Container;
- Application.ProcessMessages;
- Refresh_Inbox;
- end;
- end;
-
- procedure TFormWin95.UpdateStatusBar;
- var
- Texto: string;
- Office: string;
- begin
- If MXSession1.Logon = True Then
- begin
- Office:=MXSession1.POPath;
- Texto:='Mail eXtension: Active Session. Current PostOffice='+Office;
- StatusBar1.SimpleText:=Texto;
- end
- else
- StatusBar1.SimpleText:= 'Mail eXtension Session Closed';
- end;
-
- function TFormWin95.IsActiveSession:Boolean;
- begin
- If MXSession1.Logon = True Then
- Result:= True
- Else
- begin
- Result:= False;
- MessageBox(0,'No active Session available','Mail eXtension Win 95 DEMO 32',64);
- end;
- end;
-
- procedure TFormWin95.ClearTreeView;
- var
- Count: Integer;
- Index: Integer;
- PData: PString;
- begin
- { Borrar Objetos del Tree View}
- Count:=TreeView1.Items.Count;
- for Index:=0 to (Count-1) do
- begin
- PData:=TreeView1.Items[Index].Data;
- if PData<> nil then
- begin
- DisposeStr(PData);
- end;
- end;
- TreeView1.Items.Clear;
- end;
-
- procedure TFormWin95.Refresh_Inbox;
- var
- nMsgCount: DWord;
- cNode: TTreeNode;
- cNode2: TTreeNode;
- PData: PString;
- begin
- Cursor:=crHourGlass;
- TreeView1.Cursor:=crHourGlass;
- Application.ProcessMessages;
- ClearTreeView;
-
- nMsgCount:=MXMessage1.MsgCount;
- szCount.Caption:=IntToStr(nMsgCount);
- if nMsgCount<>0 then
- begin
- ProgressBar1.Position:= 0;
- ProgressBar1.Max:= nMsgCount;
- cNode:=TreeView1.Items.Add(nil,'Inbox');
- cNode.ImageIndex:=0;
- cNode.SelectedIndex:=0;
- MXMessage1.Action:=ACTION_FINDFIRST;
- while MXMessage1.FetchMsg<>0 do
- begin
- ProgressBar1.Position:= ProgressBar1.Position + 1;
- PData:=NewStr(MXMessage1.MsgID);
- cNode2:=TreeView1.Items.AddChildObject(cNode, MXMessage1.Subject,PData);
- If MXMessage1.UnreadMsg = True Then
- begin
- cNode2.ImageIndex:=2;
- cNode2.SelectedIndex:=2;
- end
- Else
- begin
- cNode2.ImageIndex:=3;
- cNode2.SelectedIndex:=3;
- end;
- MXMessage1.Action:= ACTION_FINDNEXT;
- end;
- ProgressBar1.Position:= 0;
- end;
- TreeView1.Cursor:=crArrow;
- Cursor:=crArrow;
- end;
-
-
- procedure TFormWin95.TreeView1Collapsing(Sender: TObject; Node: TTreeNode;
- var AllowCollapse: Boolean);
- begin
- If Node.ImageIndex = 1 Then
- begin
- Node.ImageIndex:= 0;
- Node.SelectedIndex:=0;
- end;
- end;
-
- procedure TFormWin95.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
- var AllowExpansion: Boolean);
- begin
- If Node.ImageIndex = 0 Then
- begin
- Node.ImageIndex:= 1;
- Node.SelectedIndex:=1;
- end;
- end;
-
- procedure TFormWin95.btnScanClick(Sender: TObject);
- begin
- Cursor:=crHourGlass;
- PageControl1.ActivePage:=Container;
- Application.ProcessMessages;
- If IsActiveSession = True Then Refresh_Inbox;
- Cursor:=crArrow;
- end;
-
- procedure TFormWin95.btnMailClick(Sender: TObject);
- begin
- Cursor:=crHourGlass;
- Application.ProcessMessages;
- PageControl1.ActivePage:=PageMessage;
- Cursor:=crArrow;
- end;
-
- procedure TFormWin95.btnRecipientClick(Sender: TObject);
- begin
- Cursor:=crHourGlass;
- Application.ProcessMessages;
- PageControl1.ActivePage:=Recipients;
- Cursor:=crArrow;
- end;
-
- procedure TFormWin95.btnFileClick(Sender: TObject);
- begin
- Cursor:=crHourGlass;
- Application.ProcessMessages;
- PageControl1.ActivePage:=Attachments;
- Cursor:=crArrow;
- end;
-
- procedure TFormWin95.TreeView1DblClick(Sender: TObject);
- var
- ItemX: TTreeNode;
- ParentX: TTreeNode;
- PData: PString;
- begin
- ItemX:= TreeView1.Selected;
- if (ItemX=nil) then Exit;
- ParentX:=ItemX.Parent;
- if ((ParentX=nil)) then Exit;
- Cursor:=crHourGlass;
- Application.ProcessMessages;
-
- PData:=ItemX.Data;
- if (PData=nil) then
- begin
- MessageBox(0,'Invalid Message ID','Mail X DEMO 95',MB_OK);
- Exit;
- end;
-
- MXMessage2.MsgID:= PData^;
- If ItemX.ImageIndex=2 Then ItemX.ImageIndex:= 3;
- if MXMessage2.ErrorNum=0 then
- begin
- szSubject.Text:=MXMessage2.Subject;
- szTime.Text:= MXMessage2.TimeReceived;
- szNote.Lines:=MXMessage2.NoteText;
- MXRecipient1.FetchType:=ftORIGINATOR;
- MXRecipient1.ObjRef:=MXMessage2.ObjRef;
- szFrom.Text:=MXRecipient1.RecipientName;
- MXFile1.ObjRef:=MXMessage2.ObjRef;
- Refresh_FileList;
- Refresh_Recipient;
- PageControl1.ActivePage:=PageMessage;
- end;
-
- Cursor:=crArrow;
- end;
-
- procedure TFormWin95.Refresh_Recipient;
- var
- nReciCount,nCurReci: Integer;
- cItem: TListItem;
- begin
- nReciCount:= MXRecipient1.RecipientCount;
- ListView1.Items.Clear;
- If nReciCount <> 0 Then
- begin
- For nCurReci:= 1 To nReciCount do
- begin
- MXRecipient1.RecipientNum:= nCurReci;
- cItem:=ListView1.Items.Add;
- cItem.Caption:=MXRecipient1.RecipientName;
- cItem.ImageIndex:=4;
- cItem.Data:=Pointer(nCurReci);
- end;
- end;
- end;
-
- procedure TFormWin95.Refresh_FileList;
- var
- nFileCount,nCurFile: Integer;
- cItem: TListItem;
- begin
- nFileCount:= MXFile1.FileCount;
- szFiles.Caption:=IntToStr(nFileCount);
- ListView2.Items.Clear;
- If nFileCount <> 0 Then
- begin
- For nCurFile:= 1 To nFileCount do
- begin
- MXFile1.FileNum:= nCurFile;
- cItem:=ListView2.Items.Add;
- cItem.Caption:=IntToStr(nCurFile);
- cItem.SubItems.Add(MXFile1.FileName);
- cItem.SubItems.Add(MXFile1.FilePath);
-
- end;
- end;
- end;
-
- procedure TFormWin95.btnResolveClick(Sender: TObject);
- begin
- If IsActiveSession = True Then
- begin
- MXRecipient1.ResolveName:= szResolve.Text;
- szResolve.Text:= MXRecipient1.ResolveName;
- end;
- end;
-
- procedure TFormWin95.btnAddClick(Sender: TObject);
- begin
- If IsActiveSession = True Then
- begin
- MXRecipient1.Action:= ACTION_ADDRECIPIENT;
- Refresh_Recipient;
- end;
- end;
-
- procedure TFormWin95.btnAddressClick(Sender: TObject);
- begin
- If IsActiveSession = True Then
- begin
- MXRecipient1.Action:= ACTION_ADDRESS;
- Refresh_Recipient;
- end;
- end;
-
- procedure TFormWin95.ListView1DblClick(Sender: TObject);
- var
- ItemX: TListItem;
- ReciID: Integer;
- begin
- ItemX:= ListView1.Selected;
- if (ItemX=nil) then Exit;
- ReciID:=Integer(ItemX.Data);
- MXRecipient1.RecipientNum:= ReciID;
- MXRecipient1.Action:= ACTION_DETAILS;
- end;
-
- procedure TFormWin95.btnSendClick(Sender: TObject);
- begin
- If IsActiveSession = True Then
- begin
- MXMessage2.Action:= ACTION_NEW;
- MXMessage2.Action:= ACTION_SENDMSG;
- If MXMessage2.ErrorNum <> 0 Then
- begin
- MessageBox(0,'Unable to Send Message','Mail eXtension v1.51',64);
- end;
- end;
- end;
-
- procedure TFormWin95.btnForwardClick(Sender: TObject);
- begin
- If IsActiveSession = True Then
- begin
- MXMessage2.Action:= ACTION_FORWARD;
- MXMessage2.Action:= ACTION_SENDMSG;
- If MXMessage2.ErrorNum <> 0 Then
- begin
- MessageBox(0,'Unable to Send Message','Mail eXtension v1.51',64);
- end;
- end;
-
- end;
-
- procedure TFormWin95.btnReplyClick(Sender: TObject);
- begin
- If IsActiveSession = True Then
- begin
- MXMessage2.Action:= ACTION_REPLY;
- MXMessage2.Action:= ACTION_SENDMSG;
- If MXMessage2.ErrorNum <> 0 Then
- begin
- MessageBox(0,'Unable to Send Message','Mail eXtension v1.51',64);
- end;
- end;
- end;
-
- procedure TFormWin95.btnPasswordClick(Sender: TObject);
- begin
- If IsActiveSession = True Then
- begin
- PasswordDlg.Password.Text:='';
- PasswordDlg.Password2.Text:='';
- PasswordDlg.ShowModal;
- end;
- end;
-
- end.
-
-
-